import re
import json
import requests

# selenium方法
from selenium import webdriver
from selenium.webdriver.common.by import By
"""
马瑞
使用正则方式爬取
中芯国际(688981)资金流量
净额
净占比
今日主力净流入
今日超大单净流入
今日大单净流入
今日中单净流入
今日小单净流入
收盘价
涨跌幅
"""
# UA伪装
# header = {
# 'user-agent':
#     'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0'
# }
# # 网站
# url = ('https://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get?'
#        'cb=jQuery1123045303780455741727_1710666974576&lmt=0'
#        '&klt=101'
#        '&fields1=f1%2Cf2%2Cf3%2Cf7'
#        '&fields2=f51%2Cf52%2Cf53%2Cf54%2Cf55%2Cf56%2Cf57%2Cf58%2Cf59%2Cf60%2Cf61%2Cf62%2Cf63%2Cf64%2Cf65'
#        '&ut=b2884a393a59ad64002292a3e90d46a5'
#        '&secid=1.688981'
#        '&_=1710666974577')
# # 页面解析
# rqst = requests.get(url=url, headers=header)
#
#
# # 正则提取json部分数据
# # search(正则表达式,可选参数，用于指定正则表达式的匹配标志)返回其起始和结束位置、匹配的字符串等等
# json_data_match = re.search(r'\(({.*})\)', rqst.text)
# # print(json_data_match)
#
# # group()/group(0)返回全部值 group(1)返回第一个匹配的捕获组（即正则表达式中用括号括起来的部分）
# # loads转为字典
# json_data = json.loads(json_data_match.group(1)) if json_data_match else None
# # print(json_data)
#
# # 获取键为data里的值的键为name的值
# # 股票名称
# date_name = json_data['data']['name'] if json_data else None
# print(date_name)
# # 获取键为data里的值的键为klines的值
# # klines_value是一个列表
# klines_value = json_data['data']['klines'] if json_data else None
# # print(klines_data)
#
# # 提取列表数据
# for value in klines_value:
#        # 对每条数据根据,分割返回列表
#        data = value.split(',')
#        # print(data)
#        print(data[0]+" 主力净流入,净额:"+data[1]+" 小单净流入,净额:"+data[2]+" 中单净流入,净额:"+data[3]+" 大单净流入,净额:"+data[4]
#              +" 超大单净流入,净额:"+data[5]+" 主力净流入,净占比:"+data[6]+" 小单净流入,净占比:"+data[7]+" 中单净流入,净占比:"+data[8]
#              +" 大单净流入,净占比:"+data[9]+" 超大单净流入,净占比:"+data[10]+" 收盘价:"+data[11]+" 涨跌幅:"+data[12])
#        # print("日期"+value)


# selenium方法

ch = webdriver.Chrome()

ch.get("https://data.eastmoney.com/zjlx/688981.html")

# 通过标签名获取表格的所有行
t_tables = ch.find_elements(by=By.XPATH, value='//*[@id="table_ls"]/table/tbody/tr')
# t_titles = ch.find_elements(by=By.XPATH, value='//*[@id="table_ls"]/table/thead/tr')
# arr1 = []
# for t_title in t_titles:
#     arr1 = (t_title.text).split(" ")
#     print(arr1)
arr = []
# 按行查询表格的数据，取出的数据是一整行，按空格分隔每一列的数据
for t_table in t_tables:
    arr = (t_table.text).split(" ")  # 以空格拆分成若干个
    # print(t_table.text)
    # print(arr)
    print(arr[0] + " 主力净流入,净额:" + arr[1] + " 小单净流入,净额:" + arr[2] + " 中单净流入,净额:"
          + arr[3] + " 大单净流入,净额:" + arr[4]+ " 超大单净流入,净额:"  +arr[5]
          + " 主力净流入,净占比:" + arr[6] + " 小单净流入,净占比:"+ arr[7]  + " 中单净流入,净占比:" + arr[8]
          + " 大单净流入,净占比:" + arr[9] + " 超大单净流入,净占比:" + arr[10] + " 收盘价:" + arr[11]
          + " 涨跌幅:" +arr[12])

ch.quit()